package hcn.protocol.ods.casehistory;

import hcn.util.validation.ValidationAnnotaion;
import lombok.*;

import java.util.Date;
import java.util.List;

/**
 * @Author: zhusm@bsoft.com.cn
 *
 * @Description: 病历复印详情
 *
 * @Create: 2019-07-04 15:42
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class BLCopyDetailed {

    private String copyApplyRecordId;//申请记录id
    private String consigneeName;//收件人姓名
    private String consigneeTelephone;//收件人电话
    private String consigneeDetailedAddress;//收件人详细地址
    private String patientName;//患者姓名
    private String patientIdentityCardType;//患者证件类型1、二代身份证2、军官证3、出生证明4、居民户口簿
    private String patientIdentityCardNumber;//患者证件号码
    private String patientTelephone;//患者联系电话
    private String hospitalCode;//医院代码
    private String hospitalName;//医院名称
    private String inDate;//
    private String outDate;//
    private String visitingDepartmentCode;//就诊科室代码
    private String visitingDepartmentName;//就诊科室名称
    private String visitingSerialNumber;//就诊流水号
    private String hospitalizationNumber;//住院号码
    private String applicantType;//申请人类型1：本人申请2：他人代办
    private String applicantIdentityCardType;//申请人证件类型 1、二代身份证2、军官证3、出生证明4、居民户口簿
    private int paperNumber;//纸张数
    private int copyNumber;//复印份数
    private String copyType;//复印类型1：住院病历
    private Date auditDate;////审核时间
    private int applyRecordState;//申请记录状态（1未审核、2通过、3驳回、4已取消）
    private String rejectReason;//退回原因
    private String auditor;//审核人
    private String payState;//支付状态
    private double copyFee=0d;//复印费
    private double distributionFee=0d;//配送费
    private double totalFee=0d;//总费用
    private Date applicationDate;//申请时间
    private Date payTime;//支付时间
    private Date expressDeliveryDate;//快递寄出时间
    private String expressInputPerson;//快递录入人
    private String expressNumber;//快递单号
    private String expressState;//快递状态 0全部1、已寄出2、未寄出
    private String deliveryModeName;//配送方式
    private String deliveryModeCode;//配送方式代码
    private String payModeName;//支付方式
    private int payModeCode;//支付方式代码
    private String remarkInfo;//备注信息
    private Long copyApplyPayTimeEnd;//支付截止时间
    private List<CopyContent> copyContentList;//
    private List<CopyUse> copyUseList;//
    private List<PictureInfoList> copyApplyPictureInfoList;//

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    @ToString
    public static class CopyContent{
        private String copyContentName;
        private String copyContentCode;
    }

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    @ToString
    public static class CopyUse{
        private String copyUseName;
        private String copyUseCode;
    }
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    @ToString
    public static class PictureInfoList{
        private String identityCardPictureAddress;//证件图片地址
        private String pictureClassify;//图片分类
    }
}
